Preparativos
# Cargar las configuraciones iniciales
source("cod/r/setup.R")
# Se carga la base del archivo .xlsx
Datos_original <- read_excel("data/Datos.xlsx")
Tratamiento de los datos
# Se eliminan las entradas que cuentan con valores NA, ya que las entradas con NA unicamente corresponden a titulos de los apartados, no resulta inadecuado. eliminar estos
Datos <- Datos_original %>% drop_na()
# Se transforman los datos a un formato long, esto para llevar a cabo la transposicion adecuada para estudiar los datos.
Datos <- Datos %>%
pivot_longer(cols = -`Componente demográfico`, names_to = "Year", values_to = "Value")
# Los datos previamente convertidos a un formato long ahora se pueden pasar a un formate wide, de forma que resulta mas adecuado llevar a cabo el estudio.
Datos <- Datos %>%
pivot_wider(names_from = `Componente demográfico`, values_from = "Value")
# Se convierten todas las variables a numeric
Datos <- as.data.frame(sapply(Datos, as.numeric))
Analisis exploratorio de datos
summary(Datos)
## Year Poblacion_total Poblacion_hombres Poblacion_mujeres
## Min. :2000 Min. :3872349 Min. :1961351 Min. :1910998
## 1st Qu.:2006 1st Qu.:4262804 1st Qu.:2157386 1st Qu.:2105418
## Median :2012 Median :4622304 Median :2336196 Median :2286108
## Mean :2012 Mean :4605847 Mean :2326461 Mean :2279386
## 3rd Qu.:2017 3rd Qu.:4961468 3rd Qu.:2502595 3rd Qu.:2458873
## Max. :2023 Max. :5262237 Max. :2648531 Max. :2613706
## Tasa de crecimiento natural (por cien habitantes)
## Min. : 0.3994
## 1st Qu.: 9.1409
## Median :11.5344
## Mean :10.0967
## 3rd Qu.:13.0214
## Max. :16.3296
## Tasa bruta de natalidad (por mil habitantes)
## Min. : 9.541
## 1st Qu.:13.852
## Median :15.702
## Mean :15.223
## 3rd Qu.:16.998
## Max. :20.189
## Tasa global de fecundidad (por mujer) Reproduccion_bruta Reproduccion_neta
## Min. :1.219 Min. :0.5945 Min. :0.5942
## 1st Qu.:1.669 1st Qu.:0.8140 1st Qu.:0.8137
## Median :1.849 Median :0.9022 Median :0.9017
## Mean :1.814 Mean :0.8848 Mean :0.8844
## 3rd Qu.:1.982 3rd Qu.:0.9669 3rd Qu.:0.9664
## Max. :2.417 Max. :1.1789 Max. :1.1783
## General (por mil habitantes) Mortalidad_hombres Mortalidad_mujeres
## Min. :3.730 Min. :4.245 Min. :3.202
## 1st Qu.:3.929 1st Qu.:4.462 1st Qu.:3.389
## Median :4.161 Median :4.719 Median :3.646
## Mean :4.398 Mean :4.957 Mean :3.828
## 3rd Qu.:4.711 3rd Qu.:5.268 3rd Qu.:4.120
## Max. :6.020 Max. :6.807 Max. :5.221
## Niñez (0 - 4 años) (por mil nacimientos) Mortalidad_niñez_hombres
## Min. : 8.883 Min. : 9.68
## 1st Qu.: 9.777 1st Qu.:10.41
## Median :10.487 Median :11.47
## Mean :10.607 Mean :11.55
## 3rd Qu.:11.229 3rd Qu.:12.69
## Max. :13.269 Max. :14.51
## Mortalidad_niñez_mujeres Infantil (por mil nacimientos)
## Min. : 8.043 Min. : 7.742
## 1st Qu.: 9.128 1st Qu.: 8.340
## Median : 9.561 Median : 9.009
## Mean : 9.619 Mean : 9.086
## 3rd Qu.:10.009 3rd Qu.: 9.726
## Max. :11.933 Max. :11.146
## Mortalidad_infantil_hombres Mortalidad_infantil_mujeres
## Min. : 7.979 Min. : 7.021
## 1st Qu.: 8.752 1st Qu.: 7.893
## Median : 9.789 Median : 8.233
## Mean : 9.837 Mean : 8.300
## 3rd Qu.:10.721 3rd Qu.: 8.762
## Max. :12.124 Max. :10.095
## Neonatal (por mil nacimientos) Mortalidad_neonatal_hombres
## Min. :5.829 Min. :6.145
## 1st Qu.:6.320 1st Qu.:6.844
## Median :6.654 Median :7.297
## Mean :6.679 Mean :7.337
## 3rd Qu.:7.071 3rd Qu.:7.937
## Max. :7.661 Max. :8.823
## Mortalidad_neonatal_mujeres Posneonatal (por mil nacimientos)
## Min. :5.152 Min. :1.771
## 1st Qu.:5.821 1st Qu.:2.027
## Median :6.000 Median :2.364
## Mean :5.991 Mean :2.407
## 3rd Qu.:6.219 3rd Qu.:2.648
## Max. :6.973 Max. :3.486
## Mortalidad_posneonatal_hombres Mortalidad_posneonatal_mujeres
## Min. :1.778 Min. :1.764
## 1st Qu.:2.047 1st Qu.:1.901
## Median :2.453 Median :2.195
## Mean :2.500 Mean :2.309
## 3rd Qu.:2.902 3rd Qu.:2.532
## Max. :3.824 Max. :3.442
## Razón de mortalidad materna (por diez mil nacimientos) Esperanza_total
## Min. :0.7967 Min. :77.82
## 1st Qu.:2.1976 1st Qu.:78.91
## Median :2.8910 Median :79.43
## Mean :2.7746 Mean :79.50
## 3rd Qu.:3.3535 3rd Qu.:80.23
## Max. :4.0525 Max. :81.02
## Esperanza_hombres Esperanza_mujeres Tasa de nupcialidad (por mil habitantes)
## Min. :75.46 Min. :80.18 Min. :3.688
## 1st Qu.:76.47 1st Qu.:81.35 1st Qu.:5.045
## Median :76.91 Median :81.95 Median :5.461
## Mean :77.02 Mean :81.99 Mean :5.386
## 3rd Qu.:77.68 3rd Qu.:82.77 3rd Qu.:5.985
## Max. :78.44 Max. :83.60 Max. :6.310
## Católicos Civiles
## Min. :1.227 Min. :6.188
## 1st Qu.:2.500 1st Qu.:7.318
## Median :3.015 Median :7.824
## Mean :3.064 Mean :7.755
## 3rd Qu.:3.412 3rd Qu.:8.092
## Max. :5.374 Max. :9.247
cor_matrix <- cor(Datos)
corrplot(cor_matrix, "circle", tl.cex = 0.5)

Graficos dinamicos
grafico1 <- ggplot(Datos, aes(x = Year, y = Reproduccion_bruta)) +
geom_line() +
geom_point() +
labs(title = "Reproducción Bruta por Año",
x = "Año",
y = "Reproducción Bruta") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
p1_dinamico <- ggplotly(grafico1)
grafico2 <- ggplot(Datos, aes(x = Year, y = `Tasa de crecimiento natural (por cien habitantes)`)) +
geom_line() +
geom_point() +
labs(title = "Tasa de crecimiento natural por Año",
x = "Año",
y = "Tasa de crecimiento natural") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
p2_dinamico <- ggplotly(grafico2)
grafico3 <- ggplot(Datos, aes(x = Year, y = `General (por mil habitantes)`)) +
geom_line() +
geom_point() +
labs(title = "Mortalidad general por mil habitantes por Año",
x = "Año",
y = "Mortalidad general por mil habitantes") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
p3_dinamico <- ggplotly(grafico3)
grafico4 <- ggplot(Datos, aes(x = Year, y = Poblacion_total)) +
geom_line() +
geom_point() +
labs(title = "Poblacion total por Año",
x = "Año",
y = "Poblacion total") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
p4_dinamico <- ggplotly(grafico4)
grafico5 <- ggplot(Datos, aes(x = Year, y = `Tasa de nupcialidad (por mil habitantes)`)) +
geom_line() +
geom_point() +
labs(title = "Tasa de nupcialidad por mil habitantes por Año",
x = "Año",
y = "Nupcialidad por mil habitantes") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
p5_dinamico <- ggplotly(grafico5)
p1_dinamico
p2_dinamico
p3_dinamico
p4_dinamico
p5_dinamico
Grafico resumen
grafico_combinado <- ggplot(Datos) +
geom_line(aes(x = Year, y = Reproduccion_bruta, color = "Reproducción Bruta")) +
geom_point(aes(x = Year, y = Reproduccion_bruta, color = "Reproducción Bruta")) +
geom_line(aes(x = Year, y = `Tasa de crecimiento natural (por cien habitantes)`, color = "Tasa de crecimiento natural")) +
geom_point(aes(x = Year, y = `Tasa de crecimiento natural (por cien habitantes)`, color = "Tasa de crecimiento natural")) +
geom_line(aes(x = Year, y = `General (por mil habitantes)`, color = "Mortalidad general")) +
geom_point(aes(x = Year, y = `General (por mil habitantes)`, color = "Mortalidad general")) +
geom_line(aes(x = Year, y = `Tasa de nupcialidad (por mil habitantes)`, color = "Tasa de nupcialidad")) +
geom_point(aes(x = Year, y = `Tasa de nupcialidad (por mil habitantes)`, color = "Tasa de nupcialidad")) +
labs(title = "Diferentes Métricas por Año",
x = "Año",
y = "Valor",
color = "Métricas") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
grafico_combinado_dinamico <- ggplotly(grafico_combinado)
grafico_combinado_dinamico